package com.jrx.anytxn.param.mapper.ext;

import com.jrx.anytxn.common.annotation.ParamTuningAnnotation;
import com.jrx.anytxn.param.entity.PrPrepaymentFee;
import com.jrx.anytxn.param.mapper.base.PrPrepaymentFeeMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 提前还款手续费表 mapper扩展
 *
 * @author Qingyao Xing
 * @date 2019/9/27 16:12
 */
public interface ExtPrPrepaymentFeeMapper extends PrPrepaymentFeeMapper {
    /**
     * 根据字段查询
     */
    PrPrepaymentFee selectByPrepaymentIdAndOrganizationId(@Param("prepaymentFeeId") String prepaymentFeeId, @Param("organizationId") String organizationId, @Param("tenantId") String tenantId);

    /**
     * 根据租户ID查询
     *
     * @param tenantId 租户ID
     * @return java.util.List<com.jrx.anytxn.param.entity.PrPrepaymentFee>
     * @author fan.yang
     * date: 2019/10/14 0014 下午 13:57
     */
    List<PrPrepaymentFee> selectByTenId(String tenantId);

    /**
     * 根据租户ID和费用表ID更新
     *
     * @param prPrepaymentFee 提前结清费实体
     * @return int
     * @author fan.yang
     * date: 2019/10/14 0014 下午 14:00
     */
    @ParamTuningAnnotation
    int updateByTenIdAndFeeId(PrPrepaymentFee prPrepaymentFee);

    /**
     * 根据租户ID和费用ID查询信息
     *
     * @param tenantId 租户Id
     * @param feeId    提前还款费用表ID
     * @return com.jrx.anytxn.param.entity.PrPrepaymentFee
     * @author fan.yang
     * date: 2019/10/14 0014 下午 13:52
     */
    PrPrepaymentFee selectByTenIdAndFeeId(@Param("tenantId") String tenantId, @Param("feeId") String feeId);

    /**
     * 根据租户ID和费用表ID删除
     *
     * @param tenantId 租户Id
     * @param feeId    费用表ID
     * @return int
     * @author fan.yang
     * date: 2019/10/14 0014 下午 14:04
     */
    @ParamTuningAnnotation
    int deleteByTenIdAndFeeId(@Param("tenantId") String tenantId, @Param("feeId") String feeId);
}